/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package co.edu.univalle.persistencia;


import co.edu.univalle.modelo.Clientes;
import co.edu.univalle.modelo.Cuentas;
import javax.persistence.EntityManager;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;


import javax.ejb.Stateless;

/**
 *
 * @author Estudiante Univalle
 */
@Stateless
public class cuentaDAO implements IcuentaDAO {

    @PersistenceContext
    private EntityManager entityManager;
    
    @Override
    public void registrar(Cuentas cuenta) {
        try{
            entityManager.persist(cuenta);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public void eliminar(Cuentas cuenta) {
        try{
            entityManager.remove(cuenta);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public void modificar(Cuentas cuenta) {
        try{
            entityManager.merge(cuenta);
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public List<Cuentas> consultar() {
        try{
            String jpql = "select c from Cuentas c";
            Query query = entityManager.createQuery(jpql);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }
    
    @Override
    public Cuentas consultarPorNumero(String cuenta){
         try{
            return entityManager.find(Cuentas.class, cuenta);
        }catch(RuntimeException e){
            throw e;
        
        }
    
    
    }


    @Override
    public List<Cuentas> consultarCuentasCliente(Long cedula) {
        try{
            String consulta = "select c from Cuentas c where cliCedula.cliCedula ="+cedula;
            Query query = entityManager.createQuery(consulta);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }

    @Override
    public List<Cuentas> consultarCuentasActivas() {
      try{
            String consulta = "select c from Cuentas c where c.cueActiva = 'S'";
            Query query = entityManager.createQuery(consulta);
            return query.getResultList();
        }catch(RuntimeException e){
            throw e;
        
        }
    }

}
